package com.syh.jn.scm.service.api.supplier.base.downstream;

import com.syh.jn.scm.dto.supplier.base.downstream.*;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface DownstreamService extends BaseService<DownstreamSto, DownstreamMto, DownstreamVo, Long> {
  /**
   * 启用
   */
  public void enabled(Long id);

  /**
   * 停用
   */
  public void disabled(Long id);

  /**
   * 绑定报价模板
   *
   * @param id                  下游客户id
   * @param quotationTemplateId 报价模板id
   */
  public void bindingPriceTemplate(Long id, Long quotationTemplateId);

  /**
   * 添加账号
   *
   * @param account
   * @return
   */
  public Boolean addAccount(DownstreamAccountSto account);
  /**
   * 修改账号
   *
   * @param account
   * @return
   */
  public Boolean setAccount(DownstreamAccountMto account);

  /**
   * 解除客户报价模板
   *
   * @param id
   */
  void removePriceTemplate(Long id);

  /**
   * 根据客户id获取客户地址
   *
   * @param id
   * @return
   */
  List<DownstreamAddressVo> getAddress(Long id);

  List<Long> batchSave(List<DownstreamSto> upstreamStos);
}
